// Thud - a dynamic object-oriented language
// Copyright (C) 2009,2010 David H. Hovemeyer <david.hovemeyer@gmail.com>

// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
// 
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
// GNU General Public License for more details.
// 
// You should have received a copy of the GNU General Public License
// along with this program.  If not, see <http://www.gnu.org/licenses/>.

/*
 * PreorderASTNodeVisitor.cpp
 *
 *  Created on: Nov 25, 2009
 *      Author: dhovemey
 */

#include "fe/ASTNode.h"
#include "fe/PreorderASTNodeVisitor.h"

PreorderASTNodeVisitor::PreorderASTNodeVisitor()
{

}

PreorderASTNodeVisitor::~PreorderASTNodeVisitor()
{

}

void PreorderASTNodeVisitor::visitStatementList(ASTNode * n)
{
	visitChildren(n);
}

void PreorderASTNodeVisitor::visitStatement(ASTNode * n)
{
	visitChildren(n);
}

void PreorderASTNodeVisitor::visitWhileStatement(ASTNode * n)
{
	visitChildren(n);
}

void PreorderASTNodeVisitor::visitIfStatement(ASTNode * n)
{
	visitChildren(n);
}

void PreorderASTNodeVisitor::visitBinaryOpExpr(ASTNode * n)
{
	visitChildren(n);
}

void PreorderASTNodeVisitor::visitUnaryOpExpr(ASTNode * n)
{
	visitChildren(n);
}

void PreorderASTNodeVisitor::visitFieldRefExpr(ASTNode * n)
{
	visitChildren(n);
}

void PreorderASTNodeVisitor::visitMethodCallExpr(ASTNode * n)
{
	visitChildren(n);
}

void PreorderASTNodeVisitor::visitModuleMethodCallExpr(ASTNode * n)
{
	visitChildren(n);
}

void PreorderASTNodeVisitor::visitNewExpr(ASTNode * n)
{
	visitChildren(n);
}

void PreorderASTNodeVisitor::visitClass(ASTNode * n)
{
	visitChildren(n);
}

void PreorderASTNodeVisitor::visitModule(ASTNode * n)
{
	visitChildren(n);
}

void PreorderASTNodeVisitor::visitMemberList(ASTNode * n)
{
	visitChildren(n);
}

void PreorderASTNodeVisitor::visitMethod(ASTNode * n)
{
	visitChildren(n);
}

void PreorderASTNodeVisitor::visitMagicMethod(ASTNode * n)
{
	visitChildren(n);
}

void PreorderASTNodeVisitor::visitVarList(ASTNode * n)
{
	visitChildren(n);
}

void PreorderASTNodeVisitor::visitArgList(ASTNode * n)
{
	visitChildren(n);
}

void PreorderASTNodeVisitor::visitUnit(ASTNode * n)
{
	visitChildren(n);
}

void PreorderASTNodeVisitor::visitImportList(ASTNode * n)
{
	visitChildren(n);
}

void PreorderASTNodeVisitor::visitReturnStatement(ASTNode * n)
{
	visitChildren(n);
}

void PreorderASTNodeVisitor::visitChildren(ASTNode *n)
{
	for (ASTNode::ChildList::iterator i = n->getChildList().begin(); i != n->getChildList().end(); i++) {
		(*i)->accept(this);
	}
}
